package org.jeecg.modules.zhoupackage.pojo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 团订模板表
 *
 * @author zxl
 * @since 20201008
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class MlccTeamModuleInfo {

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 团订模板编号
     */
    private String orderSn;

    /**
     * 模板名称
     */
    private String orderName;

    /**
     * 用户id（操作人登录账号id）
     */
    private String userId;

    /**
     * 门店编码
     */
    private String storeCode;

    /**
     * 门店id
     */
    private String storeId;

    /**
     * 模板状态：0草稿模板，1保存好的模板，2假删除
     */
    private Integer status;

    /**
     * 面料来源
     */
    private String fabricSource;

    /**
     * 业务来源
     */
    private String businessSource;

    /**
     * 快递id
     */
    private String courierId;

    /**
     * 快递名称
     */
    private String courierName;

    /**
     * 包装方式
     */
    private String packageType;

    /**
     * 地址类型
     */
    private String addressType;

    /**
     * 收获地址
     */
    private String address;

    /**
     * 第三方订单号
     */
    private String thirdSn;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新人员
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 部门编码
     */
    private String sysOrgCode;

    /**
     * 客户id（在这里是公司身份）
     */
    private String customerId;

    /**
     * 产品列表
     */
    @TableField(exist = false)
    private List<MlccProductInfo> productList;

    /**
     * 人员列表
     */
    @TableField(exist = false)
    private List<MlccCustomerInfo> customerInfoList;

    /**
     * 模板下的部门
     */
    @TableField(exist = false)
    private List<MlccCustomerDepart> departs;

    /**
     * 所有面料
     */
    @TableField(exist = false)
    private List<MlccFabricInfo> allFabric;

    /**
     * 模板中所有面料的价格
     */
    @TableField(exist = false)
    private double fabricPriceAll;

    /**
     * 订单下所有产品
     */
    @TableField(exist = false)
    private List<MlccProductInfo> allPro;

    /**
     * 订单下所有产品价格（加工费用小计）
     */
    @TableField(exist = false)
    private double proPriceAall;
}
